import type { EnumDict } from './enum';

import { ResourceAccessType, ResourceType } from '#/api/daprplus/auth/resource';

/**
 * 合并后的服务信息字典
 * 以服务API名称为键，包含label、urlPrefix等信息
 */
export const serviceInfoDict = {
  IdentityApi: {
    label: '身份服务',
    value: 'identity-api',
  },
};

/**
 * 资源类型选项
 */
export const resourceTypeOptions: EnumDict<ResourceType> = {
  [ResourceType.Entity]: { label: '数据实体', color: 'blue' },
  [ResourceType.Api]: { label: 'API端点', color: 'green' },
  [ResourceType.Function]: { label: '服务功能', color: 'orange' },
  [ResourceType.UI]: { label: 'UI组件', color: 'purple' },
  [ResourceType.File]: { label: '文件和文档', color: 'cyan' },
};

/**
 * 访问类型选项
 */
export const accessTypeOptions: EnumDict<ResourceAccessType> = {
  [ResourceAccessType.None]: { label: '无限制', color: 'default' },
  [ResourceAccessType.Anonymous]: { label: '匿名访问', color: 'cyan' },
  [ResourceAccessType.LoggedIn]: { label: '登录访问', color: 'blue' },
  [ResourceAccessType.RoleLimit]: { label: '角色限制', color: 'red' },
};
